1. Field of the Invention
The present invention generally relates to intelligent agents, and more particularly to the creation and/or configuration of such agents.
2. Description of the Related Art
The automation of tedious and complex tasks has long been a goal of computer science. In this regard, intelligent agents have attracted significant attention in recent years. Generally, an agent is a computer system or software program that supports a user with accomplishment of some task or activity. Intelligent software agents may be characterized as long-running processes that monitor information concerning their environment via events or polling, process that information using procedural or declarative domain knowledge, and then take actions to respond to situations detected in their environment.
Although the theorized potential of agents remains largely untapped, some degree of utility has been achieved. For example, on the Internet, an agent is a program that gathers information or performs some other service on a regular schedule and without the immediate presence of a human user. Typically, an agent program, using parameters provided by a user, searches all or some part of the Internet gathering information of interest to the user, and then presents it to the user on a periodic basis. A particular example of an agent is the email reminder service that alerts the user about news on specified topics of interest. A number of similar agents compare shopping prices and bring the results of the comparison back to the user. Other types of agents include specific site watchers that tell users when the site has been updated or look for other events and analyst agents that not only gather but also organize and interpret information.
The creation and subsequent customization of agents is facilitated by toolkits. One such toolkit is IBM's ABLE™ (Agent Building and Learning Environment) toolkit. The toolkit includes one or more panels providing a host of graphical elements and menu options from which a user may select to configure agents. For example, a System Administration agent may need to know the e-mail address of who to contact in the event of a problem, or a Storage Management agent may need to know the minimum amount of free disk space allowed before taking action. Using a toolkit, a user can configure the agents with the needed information in order for the agent to carry out its tasks.
Conventionally, the panels are locally resident on the machine on which the agents are executing. Accordingly, a user must have local access to the machine in order to configure the agents. In today's environment of highly distributed systems, it is inconvenient and often impractical to configure agents locally. As a result, it is known to provide remote users with customization user interfaces to customizing remotely located agents. However, because the customization user interfaces reside locally on the users' machines (i.e., the client machines), changes to existing interfaces and the addition of new interfaces (i.e., for new agents) require updating each of the client machines.
Therefore, there is a need for creating and customizing a software agent on a remote system. Preferably, such creating and customizing occurs with minimal transmission of data.